package com.cv.platform.service.collection;

import com.cv.framework.common.pojo.PageResult;
import com.cv.platform.controller.platform.collection.vo.collection.*;

import java.util.List;

/**
 * 视频合集业务层接口
 *
 * @author Charles_XDXD
 */
public interface CvVideoCollectionService {

    /**
     * 新增视频合集
     *
     * @param reqVO 视频合集保存请求对象
     * @return 合集编号
     */
    Long createCollection(CvVideoCollectionSaveReqVO reqVO);

    /**
     * 修改视频合集
     *
     * @param reqVO 视频合集保存请求对象
     * @return 合集编号
     */
    Long updateCollection(CvVideoCollectionSaveReqVO reqVO);

    /**
     * 删除视频合集
     *
     * @param id 合集编号
     */
    void deleteCollection(Long id);

    /**
     * 获取视频合集分页数据
     *
     * @param reqVO 分页查询请求对象
     * @return 视频合集分页数据
     */
    PageResult<CvVideoCollectionRespVO> getCollectionPage(CvVideoCollectionPageReqVO reqVO);

    /**
     * 获取视频合集详情
     *
     * @param reqVO 分页查询请求对象
     * @return 视频合集详情(内含视频分页数据)
     */
    CvVideoCollectionDetailRespVO getCollection(CvVideoCollectionDetailPageReqVO reqVO);

    /**
     * 查询用户已存放在合集的视频编号列表
     */
    List<Long> getVideoIdList();
    
}
